No estoy seguro de lo que está mal con este código. Creo que podría estar perdiendo algo en alguna parte, pero no puedo resolverlo. Sigo recibiendo el error. Las claves son para la red de prueba de binance, por lo que no son importantes.
const ts = Date.now() var crypto = require('crypto') , text = 'recvWindow=59999×tamp=ts' , key = 'BqDjQf3F5VNOvSaX1rncMsZqmSOpGTBPz5UgOohto0P3bQlfHvjUlVrkbYc6pwc3' , hash; var hash = crypto.createHmac('sha256', key).update(text).digest('hex'); [hash, key, ts.toString()];No estoy seguro de lo que está haciendo mal exactamente, no estoy familiarizado con el paquete crypto que está utilizando (¿quizás falte su secreto?), pero aquí hay un ejemplo de una solicitud con el formato correcto que recupera sus operaciones en BTC/USDT mercado
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("X-MBX-APIKEY", "..."); var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; fetch("https://api.binance.com/api/v3/myTrades?symbol=BTCUSDT&limit=500×tamp=1642400013504&signature=...", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));Obtuve esto al usar el repositorio de ejemplos de cartero de binance donde tienen un montón de solicitudes HHTP de cartero preconfiguradas en cartero, donde puede ingresar los detalles de su api en un entorno
y luego abra un ejemplo y copie el código relevante en cualquier idioma que desee
También debe vincular el entorno que creó con su ejemplo, no recuerdo el proceso exacto, pero no creo que sea difícil
También puede sortear toda la configuración de firmas utilizando CCXT , es como un SDK con una respuesta unificada para solicitudes a alrededor de 120 intercambios de cifrado. Así es como haría una solicitud con CCXT
const ccxt = require("ccxt"); const config = require("../config.json"); const binance = new ccxt.binance(config.binance); // binance.verbose = true; const trades = binance.fetch_my_trades("BTC/USDT"); console.log(trades) CCXT también tiene varios ejemplos en el repositorio en la ruta ccxt/examples
PD Elimine esa clave Api y obtenga una nueva. En el futuro, simplemente publique su clave API como '...' o my_api_key o algo así, así como su secreto y firma.